1. Field of the Invention
The present invention relates in general to a fabrication method, a performance evaluator, and a performance evaluation method of semiconductor devices and a storage medium from which the semiconductor device behavior evaluation program can be read out and more particularly to numerical calculations for electrical characteristics of semiconductor devices, i.e., a device simulation method and also to the technologies of fabricating LSIs and other semiconductor devices by use of this device simulation method.
2. Description of the Related Art
It requires a number of processes to fabricate LSIs, high-frequency transistors, power transistors, light-emitting devices, or other semiconductor devices. At the design stage for semiconductor devices out of these processes, it is necessary to check whether the size and the impurity concentrations of a designed semiconductor device satisfy specified requirements, so that the various performances of the semiconductor device having the designed size and these concentrations must be evaluated.
For the recent complicated semiconductor devices having high integration densities, the direct performance evaluation on the real chip of the device is undesirable because it requires too much time and cost and may contain faulty results. Therefore, in the process of fabricating an LSI or other fine-patterned semiconductor device with a high integration density, the physical and electrical behaviors of the semiconductor device to be fabricated are generally simulated on a computer system at first that are ruled by almost the same laws as those behaviors in the real semiconductor device. Thus simulated semiconductor device is then evaluated for its performance before it is actually started to be fabricated.
However, if a considerable amount of errors are contained in the performance evaluation results of simulation by the computer system, some faults will of course occur in the real fabrication steps of the semiconductor device. If, for example, a trial product is finished after a few weeks or longer of complicated fabrication processes and then detected to be faulty, the device must be redesigned and undergo such time consuming and complicated fabrication processes, thus bringing about much waste in time and running cost. It is, therefore, very important to improve the simulation accuracy in order to, for example, reduce efficiently the period of semiconductor device fabrication. It should be noted that the time lost by faulty design cannot be recovered. Particularly in the semiconductor industry, where the competitors are earnestly developing higher-performance devices, the most important factor is the speed of developing, so that it is extremely important to reduce the time for design and development.
An apparatus (device simulator) used in the processes of evaluating the behavior of semiconductor devices will receive as input data the geometries of a semiconductor device to be fabricated, its impurity distribution profiles, and voltages applied at its terminals and execute software programs to output its electrical characteristics (see Chap.6. The Discretization of the Basic Semiconductor Equations and Chap.7. The solution of Systems of Nonlinear Algebraic Equations in S.Selberherr in Analysis and Simulation of Semiconductor Devices, Springer-Verlag, Wien New York, (1984): herinafter called "Selberherr's method").
A device simulator obtains, by numerical calculations, the solutions of the Poisson's equations and the continuity equations for electron currents and hole currents, which are the basic equations for the electrical characteristics of semiconductors, thereby evaluating the behavior of a designed semiconductor device. These basic equations are simultaneous differential equations of a potential distribution, a electron concentration distribution, and a hole concentration distribution. With this, arbitrary values are first given to the potential .PSI., to the electron concentration n, and to the hole concentration p at each point constituting polygons in a semiconductor device to be fabricated, so that then, these values are modified to provide satisfactory solutions until those values satisfy the above-mentioned equations.
To determine the points at which the potential .PSI., the electron concentration n, and the hole concentration p are calculated, the geometry of a semiconductor device is expressed in an aggregate of polygons as shown at the upper part in FIG. 1. FIG. 1 shows a structure of the vicinity of the gate electrode of an MOSFET, in which a small horizontal rectangle G represents the gate electrode. The grid- shaped part below the gate electrode G corresponds to a channel region. Two small vertical rectangles S and D on both sides of the gate electrode correspond to source and drain electrodes respectively. Those polygons do no overlap each other and, at the same time, fill out the geometry of the semiconductor without-empty spaces. In device simulation, therefore, the potential .PSI., the electron concentration n, and the hole concentration p are calculated at each vertex (filled circle in the figure) of the polygons. Also, since the basic equations are differential ones, those three parameters must be differentiated. These differentiated values are calculated for each segment of those polygons. Specifically, the potential .PSI. is differentiated into an electric field E, the electron concentration n is differentiated into an electron current density J.sub.e, and the hole concentration p is differentiated into a hole current density J.sub.h for each segment.
According to the prior art, the electron current density J.sub.e and the hole current density J.sub.p are calculated for each segment of the polygon according to the following steps:
(a) Substitute a length d.sub.IJ of a segment IJ connecting arbitrary points of polygon (which are assumed as points I and J) into a program variable (which is assumed as DISTIJ). PA0 (b) Substitute a potential .PSI..sub.I, an electron concentration n.sub.I, and a hole concentration p.sub.I at one end point I of the segment IJ into program variables. They are here written as .PSI..sub.I, NI, and PI respectively. PA0 (c) Substitute a potential .PSI..sub.J, an electron concentration n.sub.J, and a hole concentration p.sub.J at the other end point of the segment IJ into program variables. They are here written as .PSI..sub.J, NJ, and PJ respectively. PA0 (d) Calculate an electric field E.sub.IJ going from the point I to the point J using the following equation and substitute it into the program variable EIJ. EQU E.sub.IJ =-.PSI..sub.IJ /d.sub.IJ ( 1) PA0 (e) Obtain an electron mobility .mu..sub.eIJ along the segment IJ as a function of the variable EIJ, i.e., of the electric field E.sub.IJ and substitute it into the program variable MEIJ. Note here that the electron mobility .mu..sub.eIJ can be obtained several ways. For example, the electron mobility .mu..sub.eIJ can be obtained beforehand as a function of the electric field E.sub.IJ experimentally, to store the experiment results in a table into a memory of the computer. Alternately, the electron mobility .mu..sub.eIJ can be calculated as a function of the electric field E.sub.IJ by using equations that approximately reproduce the experiment results. PA0 (f) Calculate an electron current density J.sub.eIJ going from the point I to the point J with the following equation (2) and substitute it into the program variable JHIJ. EQU J.sub.eIJ =-q.multidot..mu..sub.eIJ .multidot.NV.sub.e .multidot.(B(.PSI..sub.IJ /NV.sub.e).multidot.n.sub.I -B(-.PSI..sub.IJ /NV.sub.e).multidot..multidot.n.sub.J)/d.sub.IJ ( 2) PA0 (g) Obtain a hole mobility .mu..sub.hIJ along the segment IJ as a function of the variable EIJ and substitute it into the program variable MHIJ. The hole mobility .mu..sub.hIJ is obtained the same way as the electron mobility .mu..sub.eIJ. PA0 (h) Calculate the hole current density J.sub.hIJ going from the point I to the point J with the following equation (3) and substitute it into the program variable JHIJ. EQU J.sub.hIJ =q.multidot..mu..sub.hIJ .multidot.NV.sub.h .multidot.(B(.PSI..sub.IJ /NV.sub.h).multidot.p.sub.I -B(-.PSI..sub.IJ /NV.sub.h).multidot.p.sub.J)/d.sub.IJ ( 3) PA0 (Step 1) Substitute a length d.sub.IJ of a segment IJ connecting points (which are assumed as points I and J) of a given polygon into a program variable (which is assumed as DISTIJ). PA0 (Step 2) Substitute a potential .PSI..sub.I, an electron concentration n.sub.I, a hole concentration p.sub.I, an electron temperature T.sub.eI, and a hole temperature T.sub.hI at one end point of the segment IJ into program variables. They are here written as .PSI.I, NI, PI, TEI, and THI respectively. PA0 (Step 3) Substitute a potential .PSI..sub.J, an electron concentration n.sub.J, a hole concentration p.sub.J, an electron temperature T.sub.eJ, and a hole temperature T.sub.hJ at the other end point of the segment IJ into program variables. They are here written as .PSI.J, NJ, PJ, TEJ, and THJ. PA0 (Step 4) Calculate an electric field E.sub.IJ going from the point I to the point J using the above-mentioned equation (1) and substitute it into the program variable EIJ. PA0 (Step 5) Obtain an electron mobility .mu..sub.eIJ along the segment IJ as a function of the variable EIJ, i.e., the electric field E.sub.IJ and substitute it into the program variable MEIJ. Note here that the electron mobility .mu..sub.eIJ can be obtained several ways. For example, the electron mobility .mu..sub.eIJ can be obtained beforehand as a function of the electric field experimentally, to store the experiment results in a table into a memory of the computer. Alternately, the electron mobility can be calculated as a function of the electric field with an equation that reproduces the experiment results approximately. PA0 (Step 6) Calculate an electron current density J.sub.eIJ going from the point I to the point J using the following equation (4) and substitute it into the program variable JEIJ. ##EQU1## where the following equations hold true. EQU .DELTA.T.sub.e =T.sub.eJ -T.sub.eI ( 5) EQU BARG.sup.e =(log (T.sub.eJ /T.sub.eI)/.DELTA.T.sub.e).multidot.((-q/k).multidot..PSI..sub.IJ +2.DELTA.T.sub.e) (6) PA0 (Step 7) Obtain the hole mobility .mu..sub.hIJ along the segment IJ as a function of the variable EIJ and substitute it into the program variable MHIJ. The hole mobility .mu..sub.hIJ can be obtained the same way as the electron mobility .mu..sub.eIJ. PA0 (Step 8) Calculate the hole current density going from the point I to the point J with the following equation (7) and substitute it into the program variable JHIJ. ##EQU2## where the following equations hold true. EQU .DELTA.T.sub.h =T.sub.hJ -T.sub.hI ( 8) EQU BARG.sup.h =(log (T.sub.hJ /T.sub.hI)/.DELTA.T.sub.h).multidot.((q/k).multidot..PSI..sub.IJ +2.DELTA.T.sub.h) (9) PA0 (Step 9) Calculate the electron energy flux density S.sub.eIJ going from the point I to the point J with the following equation (10) and substitute it into the program variable SEIJ. EQU S.sub.e =Q.sub.e .multidot.k.multidot..mu..sub.eIJ .multidot.NV.sub.e .multidot.(.DELTA.T.sub.e /(d.sub.IJ .multidot.log (T.sub.eJ /T.sub.eI))).multidot.(B(BARG.sup.e).multidot.n.sub.I -B(-BARG.sup.e).multidot.n.sub.J) (10) PA0 (Step 10) Calculate the hole energy flux density S.sub.hIJ going from the point I to the point J with the following equation (11) and substitute it into the program variable SHIJ. EQU S.sub.hIJ =Q.sub.h.multidot.k.multidot..mu..sub.hIJ .multidot.NV.sub.h .multidot.(.DELTA.T.sub.h /(d.sub.IJ .multidot.log (T.sub.hJ /T.sub.hI))).multidot.(B(BARG.sup.h).multidot.p.sub.I -B(-BARG.sup.h).multidot.p.sub.J) (11)
where .mu..sub.eIJ is a negative value.
According to the above procedure, arbitrary values of potentials .PSI..sub.I and .PSI..sub.J, electron concentrations n.sub.I and n.sub.J, and hole concentrations p.sub.I and p.sub.J are given to each vertex of the polygon, to calculate the electric field E.sub.IJ, the electron current density J.sub.eIJ, and the hole current density J.sub.hIJ. If the distribution of these six physical quantities does not satisfy the basic equations, the potentials, the electron concentrations, and the hole concentrations at each vertex are modified, to calculate the electric field, the electron current density, and the hole current density again. This modification is carried out by, for example, the Newton method. By repeating this modification, solutions satisfying the basic equations can be calculated with a sufficient accuracy.
The above-mentioned method is based on the assumption that the electron temperature T.sub.e and the hole temperature T.sub.h are equal to the crystal-lattice temperature of the semiconductor constituting a semiconductor device. This assumption is valid in many situations. In fine-patterned semiconductor device, however, electrons and holes are so heated that the above-mentioned assumption may be invalid.
In such a case, an electron energy flux continuity equation and a hole energy flux continuity equation are added to the above-mentioned equations to provide five basic equations. Using these five equations, the solution can be obtained numerically, to evaluate the electrical behavior of the designed semiconductor device (see, for example, Woo-Sung Choi, Jae-Gyung Ahn, Young-June Park, Hong-Shick Min, and Chang-Gyu Hwang, "A Time Dependent Hydrodynamic Device Simulator SNU-2D with New Discretization Scheme and Algorithm," IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 13, No. 7, July, (1994)). The prior art of this method is described below.
By the prior art, the electron current density, the hole current density, the electron energy flux density, and the hole energy flux density along each segment of a polygon are calculated according to the following procedure:
According to the above procedure, arbitrary values of potentials .PSI..sub.I and .PSI..sub.J, electron concentrations n.sub.I and n.sub.J, hole concentrations p.sub.I and p.sub.J, electron temperatures T.sub.eI and T.sub.eJ, and hole temperatures T.sub.hI and T.sub.hJ are given to each vertex of a polygon, to calculate the electric field E.sub.IJ, the electron current density J.sub.eIJ, the hole current density J.sub.hIJ, the electron energy flux density S.sub.eIJ, and hole energy flux density S.sub.hIJ for each segment. If the distribution of these ten physical quantities do not satisfy the basic equations, the potential, the electron concentration, the hole concentration, the electron temperature, and the hole temperature at each vertex are modified, to calculate the electric field, the electron current density, the hole current density, the electron energy flux density, and the hole energy flux density again. This modification is carried out by use of, for example, the Newton method. By repeating this modification, solutions which satisfy the basic equations with a sufficient accuracy are calculated.
As mentioned above, at the design stage for the fabrication processes of semiconductor devices, by evaluating the electrical behavior of a semiconductor device to be fabricated, faults in design can be detected beforehand and corrected. In such a way, by repeating a series of designing, device behavior evaluation, and re-designing steps, more valid design values can be worked out. By thus employing more accurate and more valid design values, an attempt is made to reduce the fabrication period for semiconductor devices.
A device simulator according to the prior art, however, often suffers a problem that no solutions can be obtained which satisfy the above-mentioned basic equations. This problem causes deterioration in the accuracy of the device simulator, thus increasing the fabrication period greatly. The following will describe the cases of this problem.
When the electric field E is sufficiently weak, the electron and hole current densities J.sub.e and J.sub.h in a semiconductor increase in proportion to the electric field. If the electric field E is strong, however, the current densities are saturated. This is because the drift velocities of electrons and holes in a semiconductor are saturated as follows. EQU J.sub.e =q.multidot.V.sub.esat .multidot.n (12) EQU J.sub.h =q.multidot.V.sub.hsat .multidot.p (13)
The electron mobility .mu..sub.e and the hole mobility .mu..sub.h are defined as follows. EQU J.sub.e =q.multidot..mu..sub.e .multidot.E.multidot.n (14) EQU J.sub.h =q.multidot..mu..sub.h .multidot.E.multidot.p (15)
FIGS. 3A and 3B show the electron mobility and the hole mobility .mu..sub.e and .mu..sub.h in silicon respectively. When the electric field E is sufficiently strong, the electron mobility .mu..sub.e and the hole mobility .mu..sub.h decrease in inverse proportion to the electric field. This is because the drift velocities of electrons and holes are saturated when the electric field E is sufficiently strong.
The electron current density J.sub.eIJ and the hole current density J.sub.hIJ as calculated by Equations (2) and (3) respectively are also saturated when the electric field E is strong. However, this holds true when there are no errors in numerical calculations. Actual numerical calculations by use of a computer have some errors. This is because the number of the digits of variables are limited. To obtain correct solutions in numerical calculations, therefore, it is essential to employ such a calculation method that errors in numerical calculations have no significant effects on the calculation results.
The following will describe the fact that the electron current density J.sub.eIJ cannot be calculated with a sufficient accuracy by use of Equation (2) because of numeric errors. For the same reason, also, no method using Equation (3) can calculate the hole current density JhJ with a sufficient accuracy.
The value of a program variable MEIJ indicative of the electron mobility .mu..sub.eIJ has some numeric errors. To simplify the following explanation, the program variable MEIJ is given as a sum of a variable MEIJ.sup.TRUE indicative of the true value of the electron mobility .mu..sub.eIJ and a variable MEIJ.sup.ERROR indicative of the error as follows. EQU MEIJ=MEIJ.sup.TRUE +MEIJ.sup.ERROR ( 16)
Likewise, a numeric error included in a Voltage difference .PSI..sub.IJ across the segment IJ is given as follows. EQU .PSI..sub.IJ =.PSI.IJ.sup.TRUE +.PSI.IJ.sup.ERROR ( 17)
Next, the program variable JEIJ calculated from Equation (2) is written, as follows, as a sum of the variable JEIJ.sup.TRUE indicative of the true value and the variable JEIJ.sup.ERROR indicative of the error. EQU JEIJ=JEIJ.sup.TRUE +JEIJ.sup.ERROR ( 18)
The electron mobility .mu..sub.eIj is obtained from Equation (16) and the Voltage difference .PSI..sub.IJ across the segment IJ is obtained from Equation (17) and these values are substituted into Equation (2), to provide the following equation. ##EQU3##
To indicate the mathematical characteristics of the variable JEIJ.sup.ERROR indicative of an error of the electron current density J.sub.eIJ given by Equation (19), assume the following situation. EQU -.PSI.IJ.sup.TRUE /NV.sub.e &gt;&gt;1 (20) EQU (MEIJ.sup.ERROR /MEIJ.sup.TRUE).sup.2 .about.0 (21) EQU (.PSI.IJ.sup.ERROR /IJ.sup.TRUE).sup.2 .about.0 (22)
With this, Equation (19) can be approximated as follows. ##EQU4##
Also, in such a physical situation that the electron drift velocity is saturated, the following equation is established. EQU VSATE.sup.TRUE =-MEIJ.sup.TRUE .multidot..PSI.IJ.sup.TRUE /d.sub.IJ( 24)
where VSATE.sup.TRUE is a variable indicating the true value of the electron's saturated drift velocity v.sub.esat.
Using Equations (2), (23), and (24), in this physical situation, the proportion of the error of the electron current density J.sub.eIJ to the true value is as follows. ##EQU5##
Defining variables .alpha. and .beta. by the following equations, Equation (25) is expressed by the following equations (26) through (28). EQU .alpha.=.PSI.IJ.sup.TRUE /VSATE.sup.TRUE /d.sub.IJ ( 26) EQU .beta.=MEIJ.sup.TRUE /VSATE.sup.TRUE /d.sub.IJ ( 27) EQU JEIJ.sup.ERROR /JEIJ.sup.TRUE =-.alpha..multidot.MEIJ.sup.ERRRO -.beta..multidot..PSI.IJ.sup.ERROR ( 28)
The numeric error of the electron current density J.sub.eIJ expressed by the left side member of Equation (28) includes an error as much as (-.alpha.) times the numeric error of the electron mobility .mu..sub.eIJ. The variable .alpha. increases in proportion to a voltage difference across each segment. By the prior art device simulation method, therefore, the numeric error of the electron current density increases in proportion to the magnitude of the electric field. Thus, if a high electric field occurs whose magnitude is in excess of a certain finite value determined by the geometry etc. of a semiconductor device, the resultant numeric error of the electron current density makes it impossible to obtain solutions that satisfy the basic equations with a prescribed accuracy.
To solve this problem, the prior art has a known method that reduce the length of each segment, to minimize the value of .alpha.. By this method, solutions for the basic equations can be obtained for a higher electric field. This method, however, still cannot obtain solutions if the magnitude of the electric field exceeds a certain value. If, moreover, the segment is reduced in length, a larger number of polygons are required to express a semiconductor. This leads to increases in the number of segments, requiring a huge amount of time and memory capacity in calculation.